package com.ny.dto;

import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.groups.Default;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;

/**
 * 寄存柜租赁记录入参对象
 *
 * @author MSI-NB
 * @date 2025-03-08 13:14:38
 */
@Data
public class LockerRentalDTO {

    /**
     * 租赁ID:租赁ID，必填（用于更新场景）
     */
    @NotNull(groups = { UpdateGroup.class }, message = "租赁ID不能为空")
    @ApiModelProperty(value = "租赁ID:租赁ID，必填（用于更新场景）")
    private Integer rentalId;

    /**
     * 会员ID:会员ID，必填
     */
    @NotNull(groups = { CreateGroup.class, Default.class }, message = "会员ID不能为空")
    @ApiModelProperty(value = "会员ID:会员ID，必填")
    private Integer memberId;

    /**
     * 寄存柜ID:寄存柜ID，必填
     */
    @NotNull(groups = { CreateGroup.class, Default.class }, message = "寄存柜ID不能为空")
    @ApiModelProperty(value = "寄存柜ID:寄存柜ID，必填")
    private Integer lockerId;

    /**
     * 租赁开始时间:租赁开始时间，必填
     */
    @NotNull(groups = { CreateGroup.class, Default.class }, message = "租赁开始时间不能为空")
    @ApiModelProperty(value = "租赁开始时间:租赁开始时间，必填")
    private Date rentalStartTime;

    /**
     * 租赁结束时间:租赁结束时间，必填
     */
    @NotNull(groups = { CreateGroup.class, UpdateGroup.class, Default.class }, message = "租赁结束时间不能为空")
    @ApiModelProperty(value = "租赁结束时间:租赁结束时间，必填")
    private Date rentalEndTime;
}
